package com.turing.post.organization.util;

import java.math.BigInteger;
import java.util.List;

import javax.ejb.Local;
import javax.ejb.Remote;

import com.turing.post.util.PCPSApplicationException;
import com.turing.post.util.PCPSWebInput;

/**
 * 商户结算明细业务接口
 * @author ln
 */
@Remote
@Local
public interface MerchantSettDetailDao {
	
	/**
	 * 添加商户结算明细
	 * @param input
	 * @param entity
	 * @throws PCPSApplicationException
	 */
	public void addMerchantSettDetail(MerchantSettDetail entity) throws PCPSApplicationException;
	
	/**
	 * 修改商户结算明细
	 * @param input
	 * @param entity
	 * @throws PCPSApplicationException
	 */
	public void modifyMerchantSettDetail(MerchantSettDetail entity) throws PCPSApplicationException;
	
	/**
	 * 查询Forupdate
	 * @param mrchSettDetailId
	 * @throws PCPSApplicationException
	 */
	public MerchantSettDetail getMerchantSettDetailForUpdate(BigInteger mrchSettDetailId);
	
	/**
	 * 删除商户结算明细
	 * @param input
	 * @param mrchSettDetailId
	 * @throws PCPSApplicationException
	 */
	public void delMerchantSettDetail(MerchantSettDetail entity) throws PCPSApplicationException;
	
	/**
	 * 分页查询列表
	 * @param input
	 * @param merchantNo
	 * @param tranDate
	 * @param voucherNo
	 * @param page
	 * @return
	 * @throws PCPSApplicationException
	 */
	public List<MerchantSettDetail> getMerchantSettDetailList(PCPSWebInput input, String merchantNo, String starDate, String endDate, String voucherNo, Integer page);
	
	/**
	 * 查询数据数量
	 * @param input
	 * @param merchantNo
	 * @param tranDate
	 * @param voucherNo
	 * @return
	 * @throws PCPSApplicationException
	 */
	public BigInteger getMerchantSettDetailTotal(PCPSWebInput input, String merchantNo, String starDate, String endDate, String voucherNo);
	
	/**
	 * 根据id查询商户结算明细
	 * @param mrchSettDetailId
	 * @return
	 * @throws PCPSApplicationException
	 */
	public MerchantSettDetail getMerchantSettDetailByID(BigInteger mrchSettDetailId);

}
